/**
 * Copyright (c) 2015-2017, Henry Yang 杨勇 (gismail@foxmail.com).
 * <p>
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * <p>
 * http://www.apache.org/licenses/LICENSE-2.0
 * <p>
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package com.mapfinal.server.layer.model;

import com.lambkit.db.sql.ConditionMode;
import com.lambkit.db.sql.column.Column;
import com.lambkit.db.sql.column.Columns;
import com.lambkit.db.sql.column.Example;

import java.io.Serializable;
import java.util.List;

/**
 * @author yangyong 
 * @website: www.lambkit.com
 * @email: gismail@foxmail.com
 * @date 2022-03-24
 * @version 1.0
 * @since 1.0
 */
public class MfLayerCriteria extends Columns implements Serializable {
	private static final long serialVersionUID = 1L;
	
	public static MfLayerCriteria create() {
		return new MfLayerCriteria();
	}
	
	public static MfLayerCriteria create(Column column) {
		MfLayerCriteria that = new MfLayerCriteria();
		that.add(column);
        return that;
    }

    public static MfLayerCriteria create(String name, Object value) {
        return (MfLayerCriteria) create().eq(name, value);
    }
    
    public Example example() {
    	return Example.create("mf_layer", this);
    }
    
    /**
     * equals
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria eq(String name, Object value) {
    	super.eq(name, value);
        return this;
    }

    /**
     * not equals !=
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria ne(String name, Object value) {
    	super.ne(name, value);
        return this;
    }


    /**
     * like
     *
     * @param name
     * @param value
     * @return
     */

    public MfLayerCriteria like(String name, Object value) {
    	super.like(name, value);
        return this;
    }
    
    public MfLayerCriteria notLike(String name, Object value) {
    	super.notLike(name, value);
        return this;
    }

    /**
     * 大于 great than
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria gt(String name, Object value) {
    	super.gt(name, value);
        return this;
    }

    /**
     * 大于等于 great or equal
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria ge(String name, Object value) {
    	super.ge(name, value);
        return this;
    }

    /**
     * 小于 less than
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria lt(String name, Object value) {
    	super.lt(name, value);
        return this;
    }

    /**
     * 小于等于 less or equal
     *
     * @param name
     * @param value
     * @return
     */
    public MfLayerCriteria le(String name, Object value) {
    	super.le(name, value);
        return this;
    }
    
    public MfLayerCriteria isnull(String name) {
    	super.isnull(name);
        return this;
    } 

    public MfLayerCriteria notNull(String name) {
    	super.notNull(name);
        return this;
    } 
    
    public MfLayerCriteria empty(String name) {
    	super.empty(name);
        return this;
    } 
    
    public MfLayerCriteria notEmpty(String name) {
    	super.notEmpty(name);
        return this;
    } 
    
    public MfLayerCriteria add(Column column) {
    	super.add(column);
    	return this;
    }
    
    /**************************/
	
	public void addCriterion(String name, Object value, ConditionMode logic, String property, String typeHandler, String valueType) {
		 if (value == null) {
			 throw new RuntimeException("Value for " + property + " cannot be null");
		 }
		 add(Column.create(name, value, logic, typeHandler, valueType));
	}
   
	public void addCriterion(String name, Object value1, Object value2, ConditionMode logic, String property, String typeHandler, String valueType) {
		 if (value1 == null || value2 == null) {
			 throw new RuntimeException("Between values for " + property + " cannot be null");
		 }
		 add(Column.create(name, value1, value2, logic, typeHandler, valueType));
	}
		 
	public MfLayerCriteria andIdIsNull() {
		isnull("id");
		return this;
	}
	
	public MfLayerCriteria andIdIsNotNull() {
		notNull("id");
		return this;
	}
	
	public MfLayerCriteria andIdIsEmpty() {
		empty("id");
		return this;
	}

	public MfLayerCriteria andIdIsNotEmpty() {
		notEmpty("id");
		return this;
	}
       public MfLayerCriteria andIdEqualTo(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.EQUAL, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdNotEqualTo(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.NOT_EQUAL, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdGreaterThan(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.GREATER_THEN, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.GREATER_EQUAL, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdLessThan(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.LESS_THEN, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("id", value, ConditionMode.LESS_EQUAL, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("id", value1, value2, ConditionMode.BETWEEN, "id", "java.lang.Integer", "Float");
    	  return this;
      }

      public MfLayerCriteria andIdNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("id", value1, value2, ConditionMode.NOT_BETWEEN, "id", "java.lang.Integer", "Float");
          return this;
      }
        
      public MfLayerCriteria andIdIn(List<java.lang.Integer> values) {
          addCriterion("id", values, ConditionMode.IN, "id", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andIdNotIn(List<java.lang.Integer> values) {
          addCriterion("id", values, ConditionMode.NOT_IN, "id", "java.lang.Integer", "Float");
          return this;
      }
	public MfLayerCriteria andNameIsNull() {
		isnull("name");
		return this;
	}
	
	public MfLayerCriteria andNameIsNotNull() {
		notNull("name");
		return this;
	}
	
	public MfLayerCriteria andNameIsEmpty() {
		empty("name");
		return this;
	}

	public MfLayerCriteria andNameIsNotEmpty() {
		notEmpty("name");
		return this;
	}
        public MfLayerCriteria andNameLike(java.lang.String value) {
    	   addCriterion("name", value, ConditionMode.FUZZY, "name", "java.lang.String", "Float");
    	   return this;
      }

      public MfLayerCriteria andNameNotLike(java.lang.String value) {
          addCriterion("name", value, ConditionMode.NOT_FUZZY, "name", "java.lang.String", "Float");
          return this;
      }
      public MfLayerCriteria andNameEqualTo(java.lang.String value) {
          addCriterion("name", value, ConditionMode.EQUAL, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameNotEqualTo(java.lang.String value) {
          addCriterion("name", value, ConditionMode.NOT_EQUAL, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameGreaterThan(java.lang.String value) {
          addCriterion("name", value, ConditionMode.GREATER_THEN, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("name", value, ConditionMode.GREATER_EQUAL, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameLessThan(java.lang.String value) {
          addCriterion("name", value, ConditionMode.LESS_THEN, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameLessThanOrEqualTo(java.lang.String value) {
          addCriterion("name", value, ConditionMode.LESS_EQUAL, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("name", value1, value2, ConditionMode.BETWEEN, "name", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andNameNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("name", value1, value2, ConditionMode.NOT_BETWEEN, "name", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andNameIn(List<java.lang.String> values) {
          addCriterion("name", values, ConditionMode.IN, "name", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andNameNotIn(List<java.lang.String> values) {
          addCriterion("name", values, ConditionMode.NOT_IN, "name", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andWorkspaceIsNull() {
		isnull("workspace");
		return this;
	}
	
	public MfLayerCriteria andWorkspaceIsNotNull() {
		notNull("workspace");
		return this;
	}
	
	public MfLayerCriteria andWorkspaceIsEmpty() {
		empty("workspace");
		return this;
	}

	public MfLayerCriteria andWorkspaceIsNotEmpty() {
		notEmpty("workspace");
		return this;
	}
        public MfLayerCriteria andWorkspaceLike(java.lang.String value) {
    	   addCriterion("workspace", value, ConditionMode.FUZZY, "workspace", "java.lang.String", "String");
    	   return this;
      }

      public MfLayerCriteria andWorkspaceNotLike(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.NOT_FUZZY, "workspace", "java.lang.String", "String");
          return this;
      }
      public MfLayerCriteria andWorkspaceEqualTo(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.EQUAL, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceNotEqualTo(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.NOT_EQUAL, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceGreaterThan(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.GREATER_THEN, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.GREATER_EQUAL, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceLessThan(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.LESS_THEN, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceLessThanOrEqualTo(java.lang.String value) {
          addCriterion("workspace", value, ConditionMode.LESS_EQUAL, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("workspace", value1, value2, ConditionMode.BETWEEN, "workspace", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andWorkspaceNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("workspace", value1, value2, ConditionMode.NOT_BETWEEN, "workspace", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andWorkspaceIn(List<java.lang.String> values) {
          addCriterion("workspace", values, ConditionMode.IN, "workspace", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andWorkspaceNotIn(List<java.lang.String> values) {
          addCriterion("workspace", values, ConditionMode.NOT_IN, "workspace", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andStoreidIsNull() {
		isnull("storeid");
		return this;
	}
	
	public MfLayerCriteria andStoreidIsNotNull() {
		notNull("storeid");
		return this;
	}
	
	public MfLayerCriteria andStoreidIsEmpty() {
		empty("storeid");
		return this;
	}

	public MfLayerCriteria andStoreidIsNotEmpty() {
		notEmpty("storeid");
		return this;
	}
       public MfLayerCriteria andStoreidEqualTo(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.EQUAL, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidNotEqualTo(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.NOT_EQUAL, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidGreaterThan(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.GREATER_THEN, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.GREATER_EQUAL, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidLessThan(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.LESS_THEN, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("storeid", value, ConditionMode.LESS_EQUAL, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("storeid", value1, value2, ConditionMode.BETWEEN, "storeid", "java.lang.Integer", "Float");
    	  return this;
      }

      public MfLayerCriteria andStoreidNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("storeid", value1, value2, ConditionMode.NOT_BETWEEN, "storeid", "java.lang.Integer", "Float");
          return this;
      }
        
      public MfLayerCriteria andStoreidIn(List<java.lang.Integer> values) {
          addCriterion("storeid", values, ConditionMode.IN, "storeid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStoreidNotIn(List<java.lang.Integer> values) {
          addCriterion("storeid", values, ConditionMode.NOT_IN, "storeid", "java.lang.Integer", "Float");
          return this;
      }
	public MfLayerCriteria andSridIsNull() {
		isnull("srid");
		return this;
	}
	
	public MfLayerCriteria andSridIsNotNull() {
		notNull("srid");
		return this;
	}
	
	public MfLayerCriteria andSridIsEmpty() {
		empty("srid");
		return this;
	}

	public MfLayerCriteria andSridIsNotEmpty() {
		notEmpty("srid");
		return this;
	}
       public MfLayerCriteria andSridEqualTo(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.EQUAL, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridNotEqualTo(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.NOT_EQUAL, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridGreaterThan(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.GREATER_THEN, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.GREATER_EQUAL, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridLessThan(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.LESS_THEN, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("srid", value, ConditionMode.LESS_EQUAL, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("srid", value1, value2, ConditionMode.BETWEEN, "srid", "java.lang.Integer", "Float");
    	  return this;
      }

      public MfLayerCriteria andSridNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("srid", value1, value2, ConditionMode.NOT_BETWEEN, "srid", "java.lang.Integer", "Float");
          return this;
      }
        
      public MfLayerCriteria andSridIn(List<java.lang.Integer> values) {
          addCriterion("srid", values, ConditionMode.IN, "srid", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andSridNotIn(List<java.lang.Integer> values) {
          addCriterion("srid", values, ConditionMode.NOT_IN, "srid", "java.lang.Integer", "Float");
          return this;
      }
	public MfLayerCriteria andXminIsNull() {
		isnull("xmin");
		return this;
	}
	
	public MfLayerCriteria andXminIsNotNull() {
		notNull("xmin");
		return this;
	}
	
	public MfLayerCriteria andXminIsEmpty() {
		empty("xmin");
		return this;
	}

	public MfLayerCriteria andXminIsNotEmpty() {
		notEmpty("xmin");
		return this;
	}
       public MfLayerCriteria andXminEqualTo(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.EQUAL, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminNotEqualTo(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.NOT_EQUAL, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminGreaterThan(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.GREATER_THEN, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminGreaterThanOrEqualTo(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.GREATER_EQUAL, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminLessThan(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.LESS_THEN, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminLessThanOrEqualTo(java.lang.Double value) {
          addCriterion("xmin", value, ConditionMode.LESS_EQUAL, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminBetween(java.lang.Double value1, java.lang.Double value2) {
    	  addCriterion("xmin", value1, value2, ConditionMode.BETWEEN, "xmin", "java.lang.Double", "Float");
    	  return this;
      }

      public MfLayerCriteria andXminNotBetween(java.lang.Double value1, java.lang.Double value2) {
          addCriterion("xmin", value1, value2, ConditionMode.NOT_BETWEEN, "xmin", "java.lang.Double", "Float");
          return this;
      }
        
      public MfLayerCriteria andXminIn(List<java.lang.Double> values) {
          addCriterion("xmin", values, ConditionMode.IN, "xmin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXminNotIn(List<java.lang.Double> values) {
          addCriterion("xmin", values, ConditionMode.NOT_IN, "xmin", "java.lang.Double", "Float");
          return this;
      }
	public MfLayerCriteria andXmaxIsNull() {
		isnull("xmax");
		return this;
	}
	
	public MfLayerCriteria andXmaxIsNotNull() {
		notNull("xmax");
		return this;
	}
	
	public MfLayerCriteria andXmaxIsEmpty() {
		empty("xmax");
		return this;
	}

	public MfLayerCriteria andXmaxIsNotEmpty() {
		notEmpty("xmax");
		return this;
	}
       public MfLayerCriteria andXmaxEqualTo(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.EQUAL, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxNotEqualTo(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.NOT_EQUAL, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxGreaterThan(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.GREATER_THEN, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxGreaterThanOrEqualTo(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.GREATER_EQUAL, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxLessThan(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.LESS_THEN, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxLessThanOrEqualTo(java.lang.Double value) {
          addCriterion("xmax", value, ConditionMode.LESS_EQUAL, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxBetween(java.lang.Double value1, java.lang.Double value2) {
    	  addCriterion("xmax", value1, value2, ConditionMode.BETWEEN, "xmax", "java.lang.Double", "Float");
    	  return this;
      }

      public MfLayerCriteria andXmaxNotBetween(java.lang.Double value1, java.lang.Double value2) {
          addCriterion("xmax", value1, value2, ConditionMode.NOT_BETWEEN, "xmax", "java.lang.Double", "Float");
          return this;
      }
        
      public MfLayerCriteria andXmaxIn(List<java.lang.Double> values) {
          addCriterion("xmax", values, ConditionMode.IN, "xmax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andXmaxNotIn(List<java.lang.Double> values) {
          addCriterion("xmax", values, ConditionMode.NOT_IN, "xmax", "java.lang.Double", "Float");
          return this;
      }
	public MfLayerCriteria andYminIsNull() {
		isnull("ymin");
		return this;
	}
	
	public MfLayerCriteria andYminIsNotNull() {
		notNull("ymin");
		return this;
	}
	
	public MfLayerCriteria andYminIsEmpty() {
		empty("ymin");
		return this;
	}

	public MfLayerCriteria andYminIsNotEmpty() {
		notEmpty("ymin");
		return this;
	}
       public MfLayerCriteria andYminEqualTo(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.EQUAL, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminNotEqualTo(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.NOT_EQUAL, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminGreaterThan(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.GREATER_THEN, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminGreaterThanOrEqualTo(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.GREATER_EQUAL, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminLessThan(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.LESS_THEN, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminLessThanOrEqualTo(java.lang.Double value) {
          addCriterion("ymin", value, ConditionMode.LESS_EQUAL, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminBetween(java.lang.Double value1, java.lang.Double value2) {
    	  addCriterion("ymin", value1, value2, ConditionMode.BETWEEN, "ymin", "java.lang.Double", "Float");
    	  return this;
      }

      public MfLayerCriteria andYminNotBetween(java.lang.Double value1, java.lang.Double value2) {
          addCriterion("ymin", value1, value2, ConditionMode.NOT_BETWEEN, "ymin", "java.lang.Double", "Float");
          return this;
      }
        
      public MfLayerCriteria andYminIn(List<java.lang.Double> values) {
          addCriterion("ymin", values, ConditionMode.IN, "ymin", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYminNotIn(List<java.lang.Double> values) {
          addCriterion("ymin", values, ConditionMode.NOT_IN, "ymin", "java.lang.Double", "Float");
          return this;
      }
	public MfLayerCriteria andYmaxIsNull() {
		isnull("ymax");
		return this;
	}
	
	public MfLayerCriteria andYmaxIsNotNull() {
		notNull("ymax");
		return this;
	}
	
	public MfLayerCriteria andYmaxIsEmpty() {
		empty("ymax");
		return this;
	}

	public MfLayerCriteria andYmaxIsNotEmpty() {
		notEmpty("ymax");
		return this;
	}
       public MfLayerCriteria andYmaxEqualTo(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.EQUAL, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxNotEqualTo(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.NOT_EQUAL, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxGreaterThan(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.GREATER_THEN, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxGreaterThanOrEqualTo(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.GREATER_EQUAL, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxLessThan(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.LESS_THEN, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxLessThanOrEqualTo(java.lang.Double value) {
          addCriterion("ymax", value, ConditionMode.LESS_EQUAL, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxBetween(java.lang.Double value1, java.lang.Double value2) {
    	  addCriterion("ymax", value1, value2, ConditionMode.BETWEEN, "ymax", "java.lang.Double", "Float");
    	  return this;
      }

      public MfLayerCriteria andYmaxNotBetween(java.lang.Double value1, java.lang.Double value2) {
          addCriterion("ymax", value1, value2, ConditionMode.NOT_BETWEEN, "ymax", "java.lang.Double", "Float");
          return this;
      }
        
      public MfLayerCriteria andYmaxIn(List<java.lang.Double> values) {
          addCriterion("ymax", values, ConditionMode.IN, "ymax", "java.lang.Double", "Float");
          return this;
      }

      public MfLayerCriteria andYmaxNotIn(List<java.lang.Double> values) {
          addCriterion("ymax", values, ConditionMode.NOT_IN, "ymax", "java.lang.Double", "Float");
          return this;
      }
	public MfLayerCriteria andStyleIsNull() {
		isnull("style");
		return this;
	}
	
	public MfLayerCriteria andStyleIsNotNull() {
		notNull("style");
		return this;
	}
	
	public MfLayerCriteria andStyleIsEmpty() {
		empty("style");
		return this;
	}

	public MfLayerCriteria andStyleIsNotEmpty() {
		notEmpty("style");
		return this;
	}
        public MfLayerCriteria andStyleLike(java.lang.String value) {
    	   addCriterion("style", value, ConditionMode.FUZZY, "style", "java.lang.String", "Float");
    	   return this;
      }

      public MfLayerCriteria andStyleNotLike(java.lang.String value) {
          addCriterion("style", value, ConditionMode.NOT_FUZZY, "style", "java.lang.String", "Float");
          return this;
      }
      public MfLayerCriteria andStyleEqualTo(java.lang.String value) {
          addCriterion("style", value, ConditionMode.EQUAL, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleNotEqualTo(java.lang.String value) {
          addCriterion("style", value, ConditionMode.NOT_EQUAL, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleGreaterThan(java.lang.String value) {
          addCriterion("style", value, ConditionMode.GREATER_THEN, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("style", value, ConditionMode.GREATER_EQUAL, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleLessThan(java.lang.String value) {
          addCriterion("style", value, ConditionMode.LESS_THEN, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleLessThanOrEqualTo(java.lang.String value) {
          addCriterion("style", value, ConditionMode.LESS_EQUAL, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("style", value1, value2, ConditionMode.BETWEEN, "style", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andStyleNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("style", value1, value2, ConditionMode.NOT_BETWEEN, "style", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andStyleIn(List<java.lang.String> values) {
          addCriterion("style", values, ConditionMode.IN, "style", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andStyleNotIn(List<java.lang.String> values) {
          addCriterion("style", values, ConditionMode.NOT_IN, "style", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andTitleIsNull() {
		isnull("title");
		return this;
	}
	
	public MfLayerCriteria andTitleIsNotNull() {
		notNull("title");
		return this;
	}
	
	public MfLayerCriteria andTitleIsEmpty() {
		empty("title");
		return this;
	}

	public MfLayerCriteria andTitleIsNotEmpty() {
		notEmpty("title");
		return this;
	}
        public MfLayerCriteria andTitleLike(java.lang.String value) {
    	   addCriterion("title", value, ConditionMode.FUZZY, "title", "java.lang.String", "String");
    	   return this;
      }

      public MfLayerCriteria andTitleNotLike(java.lang.String value) {
          addCriterion("title", value, ConditionMode.NOT_FUZZY, "title", "java.lang.String", "String");
          return this;
      }
      public MfLayerCriteria andTitleEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleNotEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.NOT_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleGreaterThan(java.lang.String value) {
          addCriterion("title", value, ConditionMode.GREATER_THEN, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.GREATER_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleLessThan(java.lang.String value) {
          addCriterion("title", value, ConditionMode.LESS_THEN, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleLessThanOrEqualTo(java.lang.String value) {
          addCriterion("title", value, ConditionMode.LESS_EQUAL, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("title", value1, value2, ConditionMode.BETWEEN, "title", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andTitleNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("title", value1, value2, ConditionMode.NOT_BETWEEN, "title", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andTitleIn(List<java.lang.String> values) {
          addCriterion("title", values, ConditionMode.IN, "title", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andTitleNotIn(List<java.lang.String> values) {
          addCriterion("title", values, ConditionMode.NOT_IN, "title", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andSummaryIsNull() {
		isnull("summary");
		return this;
	}
	
	public MfLayerCriteria andSummaryIsNotNull() {
		notNull("summary");
		return this;
	}
	
	public MfLayerCriteria andSummaryIsEmpty() {
		empty("summary");
		return this;
	}

	public MfLayerCriteria andSummaryIsNotEmpty() {
		notEmpty("summary");
		return this;
	}
        public MfLayerCriteria andSummaryLike(java.lang.String value) {
    	   addCriterion("summary", value, ConditionMode.FUZZY, "summary", "java.lang.String", "String");
    	   return this;
      }

      public MfLayerCriteria andSummaryNotLike(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.NOT_FUZZY, "summary", "java.lang.String", "String");
          return this;
      }
      public MfLayerCriteria andSummaryEqualTo(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.EQUAL, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryNotEqualTo(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.NOT_EQUAL, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryGreaterThan(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.GREATER_THEN, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.GREATER_EQUAL, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryLessThan(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.LESS_THEN, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryLessThanOrEqualTo(java.lang.String value) {
          addCriterion("summary", value, ConditionMode.LESS_EQUAL, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("summary", value1, value2, ConditionMode.BETWEEN, "summary", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andSummaryNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("summary", value1, value2, ConditionMode.NOT_BETWEEN, "summary", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andSummaryIn(List<java.lang.String> values) {
          addCriterion("summary", values, ConditionMode.IN, "summary", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSummaryNotIn(List<java.lang.String> values) {
          addCriterion("summary", values, ConditionMode.NOT_IN, "summary", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andSourcenameIsNull() {
		isnull("sourcename");
		return this;
	}
	
	public MfLayerCriteria andSourcenameIsNotNull() {
		notNull("sourcename");
		return this;
	}
	
	public MfLayerCriteria andSourcenameIsEmpty() {
		empty("sourcename");
		return this;
	}

	public MfLayerCriteria andSourcenameIsNotEmpty() {
		notEmpty("sourcename");
		return this;
	}
        public MfLayerCriteria andSourcenameLike(java.lang.String value) {
    	   addCriterion("sourcename", value, ConditionMode.FUZZY, "sourcename", "java.lang.String", "String");
    	   return this;
      }

      public MfLayerCriteria andSourcenameNotLike(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.NOT_FUZZY, "sourcename", "java.lang.String", "String");
          return this;
      }
      public MfLayerCriteria andSourcenameEqualTo(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.EQUAL, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameNotEqualTo(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.NOT_EQUAL, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameGreaterThan(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.GREATER_THEN, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.GREATER_EQUAL, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameLessThan(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.LESS_THEN, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameLessThanOrEqualTo(java.lang.String value) {
          addCriterion("sourcename", value, ConditionMode.LESS_EQUAL, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("sourcename", value1, value2, ConditionMode.BETWEEN, "sourcename", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andSourcenameNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("sourcename", value1, value2, ConditionMode.NOT_BETWEEN, "sourcename", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andSourcenameIn(List<java.lang.String> values) {
          addCriterion("sourcename", values, ConditionMode.IN, "sourcename", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andSourcenameNotIn(List<java.lang.String> values) {
          addCriterion("sourcename", values, ConditionMode.NOT_IN, "sourcename", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andStatusIsNull() {
		isnull("status");
		return this;
	}
	
	public MfLayerCriteria andStatusIsNotNull() {
		notNull("status");
		return this;
	}
	
	public MfLayerCriteria andStatusIsEmpty() {
		empty("status");
		return this;
	}

	public MfLayerCriteria andStatusIsNotEmpty() {
		notEmpty("status");
		return this;
	}
       public MfLayerCriteria andStatusEqualTo(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.EQUAL, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusNotEqualTo(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.NOT_EQUAL, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusGreaterThan(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.GREATER_THEN, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.GREATER_EQUAL, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusLessThan(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.LESS_THEN, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("status", value, ConditionMode.LESS_EQUAL, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("status", value1, value2, ConditionMode.BETWEEN, "status", "java.lang.Integer", "Float");
    	  return this;
      }

      public MfLayerCriteria andStatusNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("status", value1, value2, ConditionMode.NOT_BETWEEN, "status", "java.lang.Integer", "Float");
          return this;
      }
        
      public MfLayerCriteria andStatusIn(List<java.lang.Integer> values) {
          addCriterion("status", values, ConditionMode.IN, "status", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andStatusNotIn(List<java.lang.Integer> values) {
          addCriterion("status", values, ConditionMode.NOT_IN, "status", "java.lang.Integer", "Float");
          return this;
      }
	public MfLayerCriteria andGeotypeIsNull() {
		isnull("geotype");
		return this;
	}
	
	public MfLayerCriteria andGeotypeIsNotNull() {
		notNull("geotype");
		return this;
	}
	
	public MfLayerCriteria andGeotypeIsEmpty() {
		empty("geotype");
		return this;
	}

	public MfLayerCriteria andGeotypeIsNotEmpty() {
		notEmpty("geotype");
		return this;
	}
        public MfLayerCriteria andGeotypeLike(java.lang.String value) {
    	   addCriterion("geotype", value, ConditionMode.FUZZY, "geotype", "java.lang.String", "Float");
    	   return this;
      }

      public MfLayerCriteria andGeotypeNotLike(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.NOT_FUZZY, "geotype", "java.lang.String", "Float");
          return this;
      }
      public MfLayerCriteria andGeotypeEqualTo(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.EQUAL, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeNotEqualTo(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.NOT_EQUAL, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeGreaterThan(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.GREATER_THEN, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeGreaterThanOrEqualTo(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.GREATER_EQUAL, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeLessThan(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.LESS_THEN, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeLessThanOrEqualTo(java.lang.String value) {
          addCriterion("geotype", value, ConditionMode.LESS_EQUAL, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeBetween(java.lang.String value1, java.lang.String value2) {
    	  addCriterion("geotype", value1, value2, ConditionMode.BETWEEN, "geotype", "java.lang.String", "String");
    	  return this;
      }

      public MfLayerCriteria andGeotypeNotBetween(java.lang.String value1, java.lang.String value2) {
          addCriterion("geotype", value1, value2, ConditionMode.NOT_BETWEEN, "geotype", "java.lang.String", "String");
          return this;
      }
        
      public MfLayerCriteria andGeotypeIn(List<java.lang.String> values) {
          addCriterion("geotype", values, ConditionMode.IN, "geotype", "java.lang.String", "String");
          return this;
      }

      public MfLayerCriteria andGeotypeNotIn(List<java.lang.String> values) {
          addCriterion("geotype", values, ConditionMode.NOT_IN, "geotype", "java.lang.String", "String");
          return this;
      }
	public MfLayerCriteria andLayertypeIsNull() {
		isnull("layertype");
		return this;
	}
	
	public MfLayerCriteria andLayertypeIsNotNull() {
		notNull("layertype");
		return this;
	}
	
	public MfLayerCriteria andLayertypeIsEmpty() {
		empty("layertype");
		return this;
	}

	public MfLayerCriteria andLayertypeIsNotEmpty() {
		notEmpty("layertype");
		return this;
	}
       public MfLayerCriteria andLayertypeEqualTo(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.EQUAL, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeNotEqualTo(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.NOT_EQUAL, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeGreaterThan(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.GREATER_THEN, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeGreaterThanOrEqualTo(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.GREATER_EQUAL, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeLessThan(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.LESS_THEN, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeLessThanOrEqualTo(java.lang.Integer value) {
          addCriterion("layertype", value, ConditionMode.LESS_EQUAL, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeBetween(java.lang.Integer value1, java.lang.Integer value2) {
    	  addCriterion("layertype", value1, value2, ConditionMode.BETWEEN, "layertype", "java.lang.Integer", "Float");
    	  return this;
      }

      public MfLayerCriteria andLayertypeNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
          addCriterion("layertype", value1, value2, ConditionMode.NOT_BETWEEN, "layertype", "java.lang.Integer", "Float");
          return this;
      }
        
      public MfLayerCriteria andLayertypeIn(List<java.lang.Integer> values) {
          addCriterion("layertype", values, ConditionMode.IN, "layertype", "java.lang.Integer", "Float");
          return this;
      }

      public MfLayerCriteria andLayertypeNotIn(List<java.lang.Integer> values) {
          addCriterion("layertype", values, ConditionMode.NOT_IN, "layertype", "java.lang.Integer", "Float");
          return this;
      }
}